package com.ruoyi.storage.bicycle.mapper;

import java.util.List;
import com.ruoyi.storage.bicycle.domain.Bicycle;
import com.ruoyi.storage.bicycle.domain.vo.BicycleFittingVo;
import com.ruoyi.storage.bicycle.domain.vo.BicycleListVo;
import org.apache.ibatis.annotations.Param;

/**
 * ControlAcquisitionMapper接口
 * 
 * @author zzx
 * @date 2024-01-29
 */
public interface BicycleMapper 
{
    /**
     * 查询ControlAcquisition
     * 
     * @param bicycleId ControlAcquisition主键
     * @return ControlAcquisition
     */
    public Bicycle selectBicycleByBicycleId(String bicycleId);

    /**
     * 查询ControlAcquisition列表
     * 
     * @param bicycle ControlAcquisition
     * @return ControlAcquisition集合
     */
    public List<Bicycle> selectBicycleList(Bicycle bicycle);

    /**
     * 其他出库查询
     * @param bicycle
     * @return
     */
    public List<Bicycle> selectBicycleOrderList(Bicycle bicycle);
    /**
     *同步数据页面
     * @param bicycle
     * @return
     */
    public List<Bicycle> selectDataBackhaulList(Bicycle bicycle);
    /**
     * 新增ControlAcquisition
     * 
     * @param bicycle ControlAcquisition
     * @return 结果
     */
    public int insertBicycle(Bicycle bicycle);

    /**
     * 修改ControlAcquisition
     * 
     * @param bicycle ControlAcquisition
     * @return 结果
     */
    public int updateBicycle(Bicycle bicycle);

    /**
     * 删除ControlAcquisition
     * 
     * @param bicycleId ControlAcquisition主键
     * @return 结果
     */
    public int deleteBicycleByBicycleId(String bicycleId);

    /**
     * 批量删除ControlAcquisition
     * 
     * @param bicycleIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBicycleByBicycleIds(String[] bicycleIds);

    public int selectNumberByTicketsId(String ticketsId);

    List<Bicycle> selectBicycleListByTicketsId(String ticketsId);

    /**
     * 审核
     * @param bicycleIds
     */
    void updateBicycleAudit(String[] bicycleIds);
    /**
     * 反审核
     * @param bicycleIds
     */
    void updateBicycleUnAudit(String[] bicycleIds);
    /**
     * 查询四码扫描列表
     *
     * @param bicycle
     * @return ControlAcquisition集合
     */
    List<Bicycle> selectBicycleListorder(Bicycle bicycle);

    void updateStatusById(String[] bicycleIds);

    Bicycle selectBicycleExist(@Param("keyWord") String keyWord);

    BicycleListVo selectBicycleById(@Param("keyWord") String keyWord);

    void updateBicycleOrderAudit(String[] bicycleIds);

    void updateBicycleOrderUnAudit(String[] bicycleIds);

    BicycleListVo selectBicycleByBicycleIdAsVo(String bicycleId);
}
